<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>规则</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="userlandnaming.globalnamespace.html">全局命名空间</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="userlandnaming.tips.html">提示</a></div>
 <div class="up"><a href="userlandnaming.html">用户空间命名指南</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="userlandnaming.rules" class="section">
  <h2 class="title">规则</h2>
  <p class="para">
   以下列表指出了 PHP 工程在选择新的内部标识符时保留给自己的权利。最终指南是官方的<a href="http://git.php.net/?p=php-src.git;a=blob_plain;f=CODING_STANDARDS;hb=HEAD" class="link external">&raquo;&nbsp;编码标准</a>：
  </p>

  <ul class="itemizedlist">
   <li class="listitem">
    <p class="para">
     PHP 拥有最顶层命名空间，但是会尝试找到合体的描述命名以避免任何明显的冲突。
    </p>
   </li>
   <li class="listitem">
    <p class="para">
     函数名在两个词中间使用下划线，类名则同时使用 <em>camelCase</em>
	 和 <em>PascalCase</em> 规则。
    </p>
   </li>
   <li class="listitem">
    <p class="para">
     PHP 在任何扩展库的全局符号前附加上扩展库的名称（此规则在过去则有无数例外）。例如：
    </p>

    <ul class="itemizedlist">
     <li class="listitem"><p class="para"><span class="function"><a href="function.curl-close.html" class="function">curl_close()</a></span></p></li>
     <li class="listitem"><p class="para"><span class="function"><a href="function.mysql-query.html" class="function">mysql_query()</a></span></p></li>
     <li class="listitem"><p class="para">PREG_SPLIT_DELIM_CAPTURE</p></li>
     <li class="listitem"><p class="para">new DOMDocument()</p></li>
     <li class="listitem">
      <p class="para">
       <span class="function"><a href="function.strpos.html" class="function">strpos()</a></span>（以前的一个失误例子）
      </p>
     </li>
     <li class="listitem"><p class="para">new SplFileObject()</p></li>
    </ul>
   </li>
   <li class="listitem">
    <p class="para">
     Iterators 和 Exceptions 则只是简单加上
     &quot;<em>Iterator</em>&quot; 和 &quot;<em>Exception</em>&quot;
	 后缀。例如：
    </p>
    <ul class="itemizedlist">
     <li class="listitem"><p class="para"><a href="class.arrayiterator.html" class="classname">ArrayIterator</a></p></li>
     <li class="listitem"><p class="para"><a href="class.logicexception.html" class="classname">LogicException</a></p></li>
    </ul>
   </li>
   <li class="listitem">
    <p class="para">
     PHP 保留所有以 <em>__</em>
	 开头的符号作为魔术符号。建议用户不要在 PHP
	 中创建以 <em>__</em> 打头的符号，除非是要使用有文档记载的魔术函数功能。例如：
    </p>
    <ul class="itemizedlist">
     <li class="listitem"><p class="para"><a href="language.oop5.overloading.html#object.get" class="link">__get()</a></p></li>
     <li class="listitem"><p class="para"><span class="function"><a href="function.autoload.html" class="function">__autoload()</a></span></p></li>
    </ul>
   </li>
  </ul>
 </div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="userlandnaming.globalnamespace.html">全局命名空间</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="userlandnaming.tips.html">提示</a></div>
 <div class="up"><a href="userlandnaming.html">用户空间命名指南</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>
